Split proof of concept into modules