add cast method
change method