parts 2 and 3, sort of not working as expected