changed receiver to normal func