reorganize for clarity