FINAL AFTER MODIFICATION