singleton scope by default