some more functions and a page