Some more ideas and splitting up, not compiling at all still