this sort of thing, stringly typed nightmare