add initial query compiler impl