Initial commit, some initial architecture pieces, still subject to heavy changes