refactored the entire project to make it more modular and extensible
added possibility to filter results using nested objects
added handling of boolean properties
added < > <= >= operators for the where clause