added some helper methods
more refactor WIP