added some typeclasses in a submodule