Added client component. The system should now work, albeit untested and rather buggy.