Classical dynamics of non-holonomic systems : a geometric approach