private static methods