Rearrange all the classes and methods

all classes and methods are organized according to its specific usage