initial version of classes