worked a bit on part 2