basic window creation
window creation and management