based on @jackiehluo's comment on #23, need to add descriptive errors when there is issue in completing the request.