extracted some preparation staff into gem