starts to work generates some code, but still far from ready