Added initial "pattern"
Cleanup
Module support
Fixed registration functions
Added more tests