just one constructor