refactor builtin command