bring solution inline with problem 20