Split module definitions
more clean up
add to do for template loading