UPDATED: different from history but must be valid