diff --git a/README.md b/README.md
index 1c900d9..f8d50a3 100644
--- a/README.md
+++ b/README.md
@@ -55,13 +55,14 @@ Akf-forum has got an API for AJAX (fetch), other clients etc. And, you can learn
 - delete admin???
 - change category name
 - _id
-- ADD gavatar support
+- add support for transition aroun gravatar
 
+### theme to do:
+- theme change
 - routes/api/routes/users.js check,
 themes/default/extra/footer.ejs check,
 themes/default/extra/meta.ejs check
-- "defaultThreadState" ??? better case
-
+- add theme support again, but only works with css folder. Put every css file into one file. (themes/default/css/main.css)
 
 ### front-end
 - better usermenu for user profile
@@ -76,4 +77,4 @@ themes/default/extra/meta.ejs check
 - V3: New Theme
 - V2: Backend fix, mongoose is fixed. Really big fix.
 - V1: Mongoose added.
-- V0: Birth with quick.db
+- V0: Birth with quick.db
\ No newline at end of file
diff --git a/config.json.example b/config.json.example
index 5bd2c3c..ed93d96 100644
--- a/config.json.example
+++ b/config.json.example
@@ -17,7 +17,7 @@
         "windowMs": 60000
     },
     "discord_auth": "",
-    "defaultThreadState": "OPEN",
+    "default_thread_state": "OPEN",
     "email_auth": false,
     "default_user_state": "ACTIVE",
     "host": "https://akf-forum.glitch.me"
diff --git a/lib.js b/lib.js
index 6d4f7ad..5387a04 100644
--- a/lib.js
+++ b/lib.js
@@ -1,6 +1,8 @@
 const RL = require('express-rate-limit');
 const nodemailer = require("nodemailer");
 const config = require("./config.json");
+const crypto = require("crypto");
+
 require("dotenv").config();
 module.exports = {
     threadEnum: ["OPEN", "APPROVAL", "DELETED"],
@@ -11,6 +13,9 @@ module.exports = {
             handler: (req, res, next, opts) => !req.user?.admin ? res.error(opts.statusCode, "You are begin ratelimited") : next()
         })
     },
+    getGravatar(email, size) {
+        return `https://www.gravatar.com/avatar/${crypto.createHash('md5').update(email).digest("hex")}?d=mp${size ? `&size=${size}` : ''}`;
+    },
     // eslint-disable-next-line no-useless-escape
     emailRegEx: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
 
diff --git a/models/Thread.js b/models/Thread.js
index 16ffd3f..941cd9c 100644
--- a/models/Thread.js
+++ b/models/Thread.js
@@ -1,7 +1,7 @@
 const mongoose = require("mongoose");
 const cache = require("./cache")
 const MessageModel = require("./Message");
-const { limits, defaultThreadState } = require("../config.json");
+const { limits, default_thread_state } = require("../config.json");
 const { threadEnum } = require("../lib");
 const schema = new mongoose.Schema({
     id: { type: String, unique: true },
@@ -22,7 +22,7 @@ const schema = new mongoose.Schema({
 
     time: { type: Date, default: Date.now },
     edited: { type: Boolean, default: false },
-    state: { type: String, default: defaultThreadState, enum: threadEnum, uppercase: true },
+    state: { type: String, default: default_thread_state, enum: threadEnum, uppercase: true },
     messages: [String],
     views: { type: Number, default: 0 }
 });
diff --git a/routes/register.js b/routes/register.js
index 7bfec70..1fc393b 100644
--- a/routes/register.js
+++ b/routes/register.js
@@ -1,7 +1,7 @@
 const { UserModel } = require("../models");
 const { Router } = require("express")
 const bcrypt = require("bcrypt");
-const { RL, transporter, emailRegEx } = require('../lib');
+const { RL, transporter, emailRegEx, getGravatar } = require('../lib');
 const app = Router();
 const { email_auth, forum_name, host } = require("../config.json");
 app.get("/", (req, res) => res.reply("register", { user: null, discord: req.app.get("discord_auth"), mail: email_auth }));
@@ -20,6 +20,8 @@ app.post("/", RL(24 * 60 * 60_000, 5), async (req, res) => {
     if (await UserModel.exists({ name })) return res.error(400, `We have got an user named ${name}!`)
     const user = new UserModel({ name });
 
+
+    user.avatar = getGravatar(name, 128);
     if (about) {
         if (about.length > 256) return res.error(400, "about must be under 256 characters");
         user.about = about;
diff --git a/views/setup.ejs b/views/setup.ejs
index c93410a..d474834 100644
--- a/views/setup.ejs
+++ b/views/setup.ejs
@@ -16,7 +16,7 @@
     Forum description:
     <input type="text" name="description" value="Akf-forum!" required>
     Default state for new threads, change with "APPROVAL" for approval system:
-    <input type="text" name="defaultThreadState" value="OPEN" required>
+    <input type="text" name="default_thread_state" value="OPEN" required>
     Domain of the forum, defaulty setted:
     <input type="text" name="host" id="domain" value="Akf-forum!" required>
     <hr>