use params dict to pass all the paramesters
make params more readable