move everything into classes

closes #3