Full test coverage, rename modules, add client