add a padding parameter to toBuffer