source cleanup