updated due to feedback