cleaning the new implementation