random init added