add field existance checker
improve test
do not mark field as modified when unset if field not exists