roll back implementation