Major update using Recycler view and other code refactor changes