Added UDP implementation