add and view implementation