better comments, eliminate use of tostring