added handle_pagefault function