Abstract List: first implementation