A fresh start (doesn't work properly yet)
Added peek function, whoops!
??
Desperate INLINE pragmas