legacy code separated from gad