- 0x88 board representation
- 32-bit Zobrizt hashing
- piece lists
- on the fly attacks
- incremental updates of position on make move/take back
- move stack for storing board state variables
- based on simplified evaluation by Tomasz Michniewski
- material + PST only obtained by Texel's tuning method
- tapared evaluation
- insufficient material detection
- 50 move rule detection
- 3 fold repetition detection
- stand pat quiescence
- on the fly move sorting
- MVV_LVA/killer/history/PV move ordering
- Evaluation pruning
- NMP (Null move pruning)
- Razoring
- Futility pruning
- LMR (Late move reduction)
- PVS (Principal variation search)
- UCI protocol
- Web browser