Added 'done' var to prevent this.async()() to be called twice