red method , delete ohter method , optimize code and imp