Added restore function with transaction rollback support - failed!