added self closing