internal data implemented