add reusable invitation feature