2d version should be foremost in implementing a 2d concept