cleaned up all methods and added simple explanations for why everything was added