moves everything into a class