add fill function