private __construct && __clone