why everything is public even attributes?