Putting all the parts together