broke up types into several submodules
repaired tests