reverse order to make sure * is last