putting all the parts together