added a few DS implementations