added some basic tricks for passing data around