Refactored w/ @asoper29