Initial commit of the first poc, will be a lot of refactor from here