Restructure files and cleanup

(don't merge yet)