updated with grammar and contextual changes