appears to handle page fault correctly