modify sub