refactoring & speedup