added remaining parts