only public fields and methods