made compilation as a static method