put it all together