refactored the whole code to not pass the same 15 arguments to each function
same with mappings
git stuff