Separating more logics and adding new view