Added ability to add user-specified unary and binary ops