Altered basic graft! function