added some classes, got basic idea