refactoring
first result set design