Prof pages

Ready for a review, some UI elements may be changed but the core seems good. 

Closes #142
You're right, they can be integers, since JS integer division will still give a decimal