Restructure Node class and first() and last() accordingly