surface.Poly help

I am using surface.drawpoly and i cant get it to draw a full rectangle/square. I’ve tried drawing it as one and then as half’s but still it only draw half at a time. When im beneath it one half appears and then the uther disappears when I’m above it the same thing happens.
The method i’m useing is.



local top = {
	[1] = {
		x=fl_top.x,
		y=fl_top.y,
		u=0,
		v=0
	},
	[2] = {
		x=fr_top.x,
		y=fr_top.y,
		u=1,
		v=0
	},
	[3] = {
		x=bl_top.x,
		y=bl_top.y,
		u=0,
		v=1
	}
}
surface.DrawPoly( top )
local top2 = {
		[1] = {
		x=bl_top.x,
		y=bl_top.y,
		u=0,
		v=1
	},
	[2] = {
		x=br_top.x,
		y=br_top.y,
		u=1,
		v=1
	},
	[3] = {
		x=fr_top.x,
		y=fr_top.y,
		u=1,
		v=0
	}
}
surface.DrawPoly( top2 )