module serialization
interface for adding new modules
updated tests