final version with better grammar