implemented sweep