better naming; better comments