add more final stuff
allow to pass parameters as a map