some heavy changes