String searching works more or less now
Reverse arguments, to make more sense
Fixed up remaining cases, added parsing boilerplate