Used standard algorithms and move semantics where appropriate