do not allow nil metadata