add support for placeholder attribute