Remodeled based on core underscore package
Remodeled based on core underscore package