finally remove SQL generation layer