add static and virtual methods