improved interface behavior