swapping some methods around and adding some comments