still fixing this. nearly there.