Closes #70
Closed #56 and #65. Related with #60 and #64