add coercion support