added pmm_alloc and pmm_free