refactor & ping