Fix bugs, add a non-optional notification TODO make it optional