hero functionality