added extra functionality to a few classes