#17 rationalize. same result one less method to maintain