Prof pages

Ready for a review, some UI elements may be changed but the core seems good. 

Closes #142
You should use `round()` rather than `int()` here.