改进，支持变参数