minor refactoring again