add offset parameter