revise spliter and slave