Forgot to add some comments. Now everything is done