beginning work adding 2.4 compatibility
finishing 2.4 compatibility