Initial checkin of untested code that seems to be working