remove useless junk and add SetState