improve placeholder, fix bug for range