based functional for many projects