new canvas hex approach