moved some methods around