Update comments, re-factor.