First impl. This has bugs. We need sleep.

Come n get it