Initial Commit of basic idea. Does not compile yet!