initial react implementation