refactor to integrate the standard