Gave require an optional callback