first node should not be empty