Added key reading to callback, added forcing, opts with default location