cleaned up part 2