cleaned up some methods for readability