make public stuff read only, fix #41