Built classes for everythign except the third one. Must test if code will run :p