reworked dir structure and externalized model classes