basic support for bds function