made various methods accessible as both class and instance methods by factoring them out into a module