Add viewport support