sorry for broken properties. now, we use protected visibility.