rewriting pub methods so that they work with skip&limit properly