More comments, made things more modular, etc