free_page implementation added