first attempt at separating class and instance methods