implement padding