Updated type selection casting still a work in progress