slightly more clean a-la-singleton implementation