second query-execution design

created specialized connection classes -> reduces redundant code