to be strict this should be done in a finally