Complete rewrite with gulp