Refactored a bunch of methods