add type casting