fix #12

* use `Formula.factory` instead of calling `new` directly