implementation of G04