modified to support awesome 3.5 or later