huge changes and comments