dry up the logic