Added optimization
removed requires
deleted requires
deleted watch