added a Money class, replaced all double instances with a new Money instance, money throws an exception if value is negative