[fixed all the problems]