[ci skip] refactoring for readability