This paper proposes an improved particle swarm optimizer using the notion of species to determine its neighbourhood best values, for solving multimodal optimization problems. In the proposed speciesbased PSO (SPSO), the swarm population is divided into species subpopulations based on their similarity. Each species is grouped around a dominating particle called the species seed. At each iteration step, species seeds are identified from the entire population and then adopted as neighbourhood bests for these individual species groups separately. Species are formed adaptively at each step based on the feedback obtained from the multimodal fitness landscape. Over successive iterations, species are able to simultaneously optimize towards multiple optima, regardless of if they are global or local optima. Our experiments demonstrated that SPSO is very effective in dealing with multimodal optimization functions with lower dimensions.