latest changes, --learn not implemented yet