allow init data to be empty