also closes #609 (closed) #557 (closed) #554 (closed) #552 (closed) #537 (closed) #591 (closed) #590 (closed) #570 (closed) #560 (closed)