popup positioning fix
edge adding fix
It's the little things which make a difference sometimes (c)