First take at splitting into modules