Initial commit: source, tests, sample