Remade the super functions