Updated to add .first, .last, .offset, and .limit