structure: move lib into seperate project