update with new folder structure and tests