begin implement repa semantics.