Merges most of #401

Drops one commit that caused pylint to twitch and is unnecessary now b/c a25ef12302ccd34f15b4f441cd033c67aebe697d