implementation of article base functionality