implementing references