implement firstLastList