added limit and offset options