added limiting opponent moves and also few helper methods