Initial commit with a lot done. Not functioning.