ISSUE-#14. ISSUE-#15 are almost completed.