final fix, everything works