define and implement IWatchable interface