split into classes - start