division into modules, clenup