got almost the entire thing to work