implement fill operator