Basic skeleton. Not functional yet. Getting this working and then adding some modules is what comes next.