bunch of additions to Learn