added virtual attrib