Complete rewrite!

Mostly done! (As in up to previous implementation)
Need to add stack code and remaining commands