updated for 5.4 compatibility