moving methods around and adding more tests