new implementation / try to use formulas