added ensure to avoid clashes with multiple use.