A bit more beatiful way to build modules
Fix #313