added smartgf