UPDATED split the views into more components.