Corrected throws implementation
Added weidolf to "test"
Moved enum types to seperate files.