window base implementation