added more classes, several left and enums still not implemented