Lots of changes :D
Added broadcast support
BROKEN :D