partially added basic classes