Initial commit.
Does not compile yet!