refactoring step 1
Refactoring step 2
 Refactoring step 3
 Refactoring step 4
Refactoring step 5
update licence
Refactoring user cli
Formatter and filter classes added