finished product with comments and all