better reactive design