updated (not finished) sampler RTL