Restructure as multi-modules project
Add compile time support of query using macro.