fixed all function