Make inner classes private, add some commentars