new version supports empty values