refactoring, added attributes