abstraction and refactoring rakefile