add random name generation
change output method to a method of generic function 'describe