Add initial working implementation
Update the README