improved source directory structure