compelte staticmethod