reorganized methods