cleaned up code, added constructors, finalized comments, added a search feature for the hashmap