added frame and window interfaces