don't leak self