experiment with react patterns