begin refactor to M3 layout
more refactoring towards M3 - also get rid of type and start using runtimeType instead