- split main into 2 classes