Initial implementation, test and readme.