params passed by value copy, can't be modified. fixed bugs