consider appllication state