Thank you si_the_geek, dilettante and MartinLiss,

si_the_geek, can you explain a bit more how can I use a loop in a timer? I don't get the logic.

dilettante, I think you are right, actually right now I don't have time for profiling as I am under time limitations, but as soon as I get I will get into the profiling and show you the results. But you are absolutely right about the text manipulations, you know how a chess board works, imagine a board that has 64 cells, I have two methods to mention each particular cell, one is by integer 0 to 63 and another is by coordinates A8 to H1, unfortunately from the first day, timing and CPU usage was not my concern and all the functions I have written are based on the coordinates (like 30 functions work as they take the coordinates then convert it into integer) which I think is one of the bottlenecks.

I think as soon as possible I should just take out a part of my code and try to simplify it with converting the text coordinates into integer values, then I will show all of you that piece of code and see which can help it.

MartinLiss, I am going to try the two options you mentioned, but can you explain how does it work practically? I mean logically it 'changes' my code or just changes the method of 'compiling to exe' if I tick those options?
EDIT: MartinLiss, I just checked my properties and its already set to be 'Compile to native code' as well as 'Optimize for fast code'.

Thanks everyone.