* Remove unnecessary code * Move utility function to appropriate files (e.g sampling should be in `utility.h`) * Write comments for complex sections of code and for important public functions