refactor to cryptic state