Refactoring:
- additional seperation
- #defines always in caps
- removed unnecessary casts from (void *)