updated from feedback