revert previouschange and change kernel private to protected on appcontroller