[Finally finished this.]