starting to support dynamic window sizes and resizing