improved interface and validated