added first & last methods