improved model toString