modelbuilder: split in 3 modules