restored a better string representation
added more scaladoc