angle could be negative