change the constructor can be private from public