improve data handling

Mainly support coercing of weird values better