refactoring code into a package
adding description