if called twice will set positive value. use abs here as well?