more stable input