added waitUntilVisible