Now handles negative numbers properly, fetching params now don't change success unless not optional