put all together