learn sml basics