+ ignore sample data
! extract clamp function