oop-ized 2d, next to make explicit method changeable