allow multiple modifier functions, fixed some errors