not dependant on a timeout for initialization of buttonlisteners and whatnot