gm _ construct