use explicit casts to prevent compiler error