adding some standard algorithms and datastuctures