add abstract view