pull complex method apart