Addressed feedbacks of #8, please review