Start to split day4 code into compilable units. Issue #20.