Adding initial working version.