added define/argcheck form to eliminate common errors, fixed <= bug