began performance refactor
finished performance refactor