does anyone have any examples on how to use abi.encode and abi.decode to pass params between contracts? I couldn't find much info online