Initial commit, lots of cleanup to do. Basic architecture starting to take shape