Initial Commit

Contains initial implementation and sample project.