updated with `set` callback + installation