core: start to implement document-view design