implementing article functionality