add geometry switching