first multi-module approach and demo, other improvements and changes