solves #2 (closed) #3 (closed) #4 (closed) #5 (closed) #6 (closed)
assigned to @brilator
mentioned in commit c3476814
merged