moved vendor() outside of listen()