4.4.4 Implementing the Query System