add missing files
big refactor in progress