Refactored (in progress)