refactor articleBox and article component