cleaned up class initiation and added some decorators
cleaned up class initiation and added some decorators
cleaned up more functions
merged