no public for constructor
remove public