Initial check-in, just putting the classes somewhere without much change to the interface