adds csv upload widget
refactor code and dir structure