fix implemntation to not use coercion