Overturn the old design.

1. make the modules simpler, in one file!!! oh shit...