possibly more sane project structure