reduce more codes.