remake static method in protocol to instance method