change initializer to avoid creating a temporary which cant be deleted