TODO: write nice strings repr.