rearranged model, make stuff private