commit works, could be optimized, check recovery