added initial version of react implementation