gain and offset should now be proper float; whoops :)