Initial commit
Add basic logic. Still not stable though