Monitor refactored
CheckCast refactored