changed abstract query