Some more work... almost done i hope