the practices for uikit