some logic adjusts