updating to return hold a true prototype reference