optimize deploy func