changed protected to private