Refactored methods for effeciency and practice