Reimplements unary operators, closes #24 and #25