implemented stringify and toString