added setValueAtPath plus tests