boundary check
boundary checks