added clean up in case of failure