all base values switching correctly again and support long to int