particle refactored to to use position  as seperate x,y components