Switched to modular system

Experimental, no idea if this even works.