finally all done please review it fast :)