assembling all together