First commit: add core files.