added negate; Functional programming knocking at the door. #140
some functional programming