add clean() method