DRY - the release function should be implemented once rather than twice.