better handle unary minus

fixes #17 and adds a test for it