Current Research (A lot of this material was developed under NSF grants number SBR-9309514, SES-9110991, 0079504, and 0351451.