Prof pages

Ready for a review, some UI elements may be changed but the core seems good. 

Closes #142
Don't need `[]` within `set()`.