it is working, for the most part