cleaned up the code: added numbers back, and factored out placing tiles ...

...into their own function. also modified the way tiles are placed so there is no risk of a stack overflow caused by shitty luck