Project architecture, closes #13