new structure - prepare for composer as depency manager