initial refactoring for gulp