seperate vector module & particle/circle generalization