Seems a tremendous amount of over engineering but have at it.