Initial import, lots of cleanup to be done.