building windowing api