adding source code, updating README