Start separating logic into modules