Implemented the 3 open issues