Refactoring to be more utility based