negative numbers parse correctly, added an option