made the methods not modify the argument

there are still a couple of spec fails, but I dont know roman numerals well enough to analyse