moved protected method to last