implement first_ and last_address