NOT COMPLETE, made progress