compensation logic first approximation