make as many classes internal as possible