Restructure as a multi-module project