refactor article and book app