big edit, separation of modules