refactor of handler zoo