Separate compilation into a module