Temp commit: added need functionality
Temp
Added generic needs params
Remove custom exception
Rollback and commit
Refact