implementing feedback by @tfountain