public construct