Implicit wait is not waiting

Hi
I was trying to figure this issue out by googling but was not successful.

I have few self.driver.implicit_wait() in my automation to have it wait for certain amout of time, but it seems like its not waiting at all.

here is the appium server log

[HTTP] <-- POST /wd/hub/session 200 16334 ms - 642

[HTTP]

[HTTP] --> POST /wd/hub/session/c993a1a2-b8c4-4c8b-b596-8202bf1529df/timeouts

[HTTP] {“implicit”:20000}

[debug] [W3C (c993a1a2)] Calling AppiumDriver.timeouts() with args: [null,null,null,null,20000,“c993a1a2-b8c4-4c8b-b596-8202bf1529df”]

[debug] [XCUITest] Executing command ‘timeouts’

[debug] [BaseDriver] W3C timeout argument: {“implicit”:20000}}

[debug] [BaseDriver] Set implicit wait to 20000ms

[debug] [W3C (c993a1a2)] Responding to client with driver.timeouts() result: null

[HTTP] <-- POST /wd/hub/session/c993a1a2-b8c4-4c8b-b596-8202bf1529df/timeouts 200 9 ms - 14

[HTTP]

[HTTP] --> POST /wd/hub/session/c993a1a2-b8c4-4c8b-b596-8202bf1529df/timeouts

[HTTP] {“implicit”:10000}

[debug] [W3C (c993a1a2)] Calling AppiumDriver.timeouts() with args: [null,null,null,null,10000,“c993a1a2-b8c4-4c8b-b596-8202bf1529df”]

[debug] [XCUITest] Executing command 'timeouts'

[debug] [BaseDriver] W3C timeout argument: {"implicit":10000}}

[debug] [BaseDriver] Set implicit wait to 10000ms

[debug] [W3C (c993a1a2)] Responding to client with driver.timeouts() result: null

[HTTP] <-- POST /wd/hub/session/c993a1a2-b8c4-4c8b-b596-8202bf1529df/timeouts 200 4 ms - 14

[HTTP] 

[HTTP] --> POST /wd/hub/session/c993a1a2-b8c4-4c8b-b596-8202bf1529df/timeouts

[HTTP] {"implicit":10000}

[debug] [W3C (c993a1a2)] Calling AppiumDriver.timeouts() with args: [null,null,null,null,10000,"c993a1a2-b8c4-4c8b-b596-8202bf1529df"]

[debug] [XCUITest] Executing command 'timeouts'

[debug] [BaseDriver] W3C timeout argument: {"implicit":10000}}

[debug] [BaseDriver] Set implicit wait to 10000ms

[debug] [W3C (c993a1a2)] Responding to client with driver.timeouts() result: null

[HTTP] <-- POST /wd/hub/session/c993a1a2-b8c4-4c8b-b596-8202bf1529df/timeouts 200 10 ms - 14

[HTTP] 

[HTTP] --> POST /wd/hub/session/c993a1a2-b8c4-4c8b-b596-8202bf1529df/timeouts

[HTTP] {"implicit":5000}

[debug] [W3C (c993a1a2)] Calling AppiumDriver.timeouts() with args: [null,null,null,null,5000,"c993a1a2-b8c4-4c8b-b596-8202bf1529df"]

[debug] [XCUITest] Executing command 'timeouts'

[debug] [BaseDriver] W3C timeout argument: {"implicit":5000}}

[debug] [BaseDriver] Set implicit wait to 5000ms

[debug] [W3C (c993a1a2)] Responding to client with driver.timeouts() result: null

[HTTP] <-- POST /wd/hub/session/c993a1a2-b8c4-4c8b-b596-8202bf1529df/timeouts 200 6 ms - 14

[HTTP] 

[HTTP] --> POST /wd/hub/session/c993a1a2-b8c4-4c8b-b596-8202bf1529df/element

[HTTP] {"using":"accessibility id","value":"email_field"}

[debug] [W3C (c993a1a2)] Calling AppiumDriver.findElement() with args: ["accessibility id","email_field","c993a1a2-b8c4-4c8b-b596-8202bf1529df"]

then it proceeds with finding elements, which i dont want it to happen right away.

I am using iOS simulator, with appium v1.17.1 and appium python binding.

Thank you for your help in advance