moved static methods to separate file