working on name retrieval, and what is the deal with virtual functions