refactor complete; need to update supporting content checks and add some useful js/css