It is almost correct except that you should only have $U\subset W$ as $W$ can be big. Then it suffices to find a $V$ in $U$. In this case you might want to find $\epsilon$ so that $$\overline{B(\varphi(p),\epsilon)} \subset \varphi (U)$$ instead of just $B(\varphi(p),\epsilon) \subset \varphi (U)$.