foreground and background could just be in the same hash