Basic prototype working. Still a lot to add though