Initial commit with somewhat working prototype