multiple inner classes is bad practice