This is related to #12, #7

Related to #1 and #2