WIP: React components and refactoring