a few basic classes used by my C++ applications