added unique function