updated and expaned on some comments