は identifies the topic of the sentence. が identifies the subject of the sentence. Example: 私は緑色が好きです。 (I like the colour green). In this case, は identifies the topic of the sentence (myself - 私) and が identifies the subject of the sentence (the colour green - 緑色). に identifies and indicates existence / the location of the object. で indicates the location where the action takes place. Example: 私はお店に行きます。お店でお野菜を買います。(I am going to the shops. At the shops I will buy vegetables). In this case, に identifies the existence of the shops that I am going to. で indicates the location (the shops - お店) where the action (buying vegetables - お野菜を買います) takes place. Example: 車はお外に止めています。(The car is parked outside). In this case Ni identifies the location (outside - お外) of the object (the car - 車).