A distributed agent-based approach for supporting group formation in P2P e-learning