broke some stuff up to utils module