Initial commit with library and examples