implemented fill