required, strict and new API