Improved based on feedback