refactoring; added new keywords