I have heard the terms managed code and unmanaged code. What does this mean ?