added play loop and a bunch of other stuff
(almost) completed matching function
completed matching function, now playable