no more need to store unique function