more efficient synchronized methods