start refactor Handler