moved static methods from Gian block