added types (enum) and shortened the classes