Almost ready. This commit message sucks.