big refactor. mostly grunt and ci work