pulling this in from the old repository. this work is nearly complete.