Prof pages

Ready for a review, some UI elements may be changed but the core seems good. 

Closes #142
Again, it would be easier to read to have this in two separate statements. In the first statement assign to a variable the argument that you're passing into `replaceWith()`.