separate some builtin commands into builtin.go