refactoring, minor changes, and addition of sample data.