yeah this is too implementation-specific.  We need to have an input type somewhere to make this automatic