page.cpp implemented and rough test passed