implemented list object and tests