I am trying to execute a layout as shown below:

Two floats: left divs are located side by side, each with 45% of the width. On the right, the div contains two subsections: one aligned to the bottom of the div, and the other to the top.
If the sections on the right are long enough, they will, of course, occur in the middle, and then start pushing the height of the containing div:

I played with faux-columns, clear: all, overflow: hidden, bottom: 0 and any other tricks I could think of, but I can't get this behavior to work.
The real problem, apparently, is that the smaller of the left and right div does not expand to the height of the container, which occupies the height of the larger of the two, using overflow: hidden. Any thoughts?
:
<div style="overflow:hidden; clear:both">
<div id="column1" style="float: left; width:45%">
<div id="column2" style="float: left; width:45%">
<div style="float: left; top: 0">Content Here should sit up top</div>
<div style="float: left; bottom: 0">Content Here should sit on bottom</div>
</div>
</div>
, , -:

, !