better comments. better order of methods