generict type change