added rest of the parts