move toward arbitrary data but still broken now