* added GDL abstraction