okay so need setTimeout to avoid race condition.. Feck