parts 1 and 2 working