added punter binary and refactored some of the code