change the contsructor to private