added interactive terminal, added more fns