refactor books app and article app