shift generalisation still not working