update so we dont have abstract static methods