Made DS impl methods not abstract, added custom loop methods if needed