add error handling.
apply my formatting.
use Promise for response and implement actor.