move coercion further up