use more _.defer`s