refactoring and new test
changed method visibility
fixed joining source table

Now it is possible to join source table via different table's column.
The source table name is listed in tables' aliases at first place.