moving around some more
afactoring out library modules