Convert pages, full functionality match with source
Test
Refactor to clean up implementation (more to do still)