Reorganizing code into more classes. Updating README and LICENSE.