Removed unused dependency
Use non-static rules and factory