added solutons for assignment, inlcuding replay