First "working" version

Still a long way to go