should be a protected method?