pre-changing interface