implement MMU