adding submitted version (almost)