Initial source code commit, containing API and skeleton implementation