updated with compiler plugin