working finally, sorta