refactor command list