Fix some design flaws from the previous efforts...