handles tiles that are not there, better exceptions, more exhaustive testing
added synchronized to appropriate methods
threads working in chicago test