Revert "Fixes #29, #17, #18, #19, #20, #21."

This reverts commit 5f5529d472481cf69e2dc2ffa16d73a7961e40e0.