frontend handle shift v2