changes and stuff;
added generalized pickling;