implement SingleList