Split the initial project out into finer modules