should be private static?