Updated for 3.1 compatibility