addressing some of points in review by @dangoor