better comments and organization