use options as second parameter instead of callback