fixed the "this" problem with setTimeout. moved listen