added support for joins
refactoring where generation logic
added debugging methods
general refactoring
updated readme
taging 0.2.0