Made a few things better extensible.