Project module (closes #6, #7)