components for advanced file field (much case by case logic still to be written)