SCPJP 6 page 100. This is code will be refactored as I need to keep an
order and standard so as not to get confused in the near future.
Refactoring about package names, now I can see clarity :D