Using filter instead of function
Rename functions
Refactory for shared data