got case 2 and 3 working