no static nor singleton