Initial commit after big split into modules