rewrite for 5.4 compability