stolen a struct that converts floats and bytes