implemented class loading