First commit - Initial implementation and example