017 polish and adds documentation