Brian - all parts together and updated