refactor utilities into seperate namespace