added grunt plugins for automation, refactor codes/structure