better naming and commenting