added doco and provided alternate constructor