committing results, will keep refactoring..
using better class name, module was getting too confusing
think I have a working version that will handle both files and npm dependencies with the same code