protected method for this and above.