Requires php >= 5.4