first step #539

Let's get this in as a first step.
Why these casts?