commit #5 implementation