my utility toolkit , include basic data struct , some gl extension