add fill constructor