simpler toString
implement profile fully