Initial version. Just putting together the viewport