clean up for implementation