better approach