add placeholder functionality