implemented new page allocator