add auto fill functionality