custom placeholder + changed private properties to public scope