FINAL PROTOTYPE FOR PASSING