mass refactor -> time to make over the templates