working version (without supply shifts)