started on a portal connection process
update dims(), rows() and cols() to shape(), shape().y and shape().x