better props
require an ack