added tons of checks and freezing/unfreezing