First commit pushing all work done up to this point.