restructure the repository, cause its a lib and better testable this way