updated frame work to add new features and updated documentation.