moved methods around (not for fun mind you)