added first/last/takeAt/takeLast