committing anything that is left before adding in special case strategies