code refactoring to improve organization, added support for list filtering and expandablelistview