modularized truncation step