def get_dbc(self):
        # returns a db instance when one is available else waits until one is
        if not self.conn_at_start and self.current_conn_size < self.max_pool_size:
            dbc = DBController(host=self.conf["host"],
                               db_name=self.conf["db_name"],
                               db_user_name=self.conf["db_user_name"],
                               psd=self.conf["db_psw"],
                               port=self.conf["port"])
            if not dbc:
                print "cannot generate dbccontroller"
                return None
            self.current_conn_size += 1
            dbc.new_cur()
            return dbc

        dbc = self.pool.get(True)
        dbc.new_cur()
        return dbc