improve the shifts table and adapt method in models