fixed small bug and removed function prototypes
actually implemented the enums now :p