I'm working on a tile based tactical board game. I've implemented the A* path finding algorithm in the events system and it works fine, but its a tad slow. The boards typically range from 15x10 (1.5:1 ratio) so there not huge. One particular part of the algorithm I had to 'hack' together was choosing the lowest F value. I'm not using arrays instead I've got instance variables storing the G,H & F on each tile. This means I need to select the lowest F value which is stored in an instance variable. Currently I'm using: For each ordered (pf_F, ascending) then i stop the loop straight away as it has applied the required actions to the first instance (which has the lowest F value). So I'm wondering is there any possible optimization or more efficient way of selecting the lowest F without calling a for each ordered loop every iteration? I know system: pick instance by instance variable (=, !=, <, >, <=, =>) doesn't exist in C2 currently but it would be great. can anyone help?