change log impl