Oops, big update. Forgot to keep committing code.