new all() and first() function