use deferreds in run and parse methods