java programming Create a well-designed group of classesthat simulates an avatar for a person wandering on an infinite2-dimensional plainMain principle: A class represents a�single concept Additional details are described in Chapter 8Locations on the plain are a pair of integer values for the x-and y-coordinates The avatar can only move forward one unitat a time The avatar can turn right or left by 90(but cannot�move at the same time) Initially, the avatar is at the origin(0,0) facing north(N)The capabilities of the avatar must include the followingmethods public void turnleft() The avatar turns left by 90�public void turnRight() The avatar turns right by 90public�void move() The avatar moves | unit in the direction it isfacing public String describe() Describe outputs the string: "Iam facing <direction> at <location-coordinates>" Forexample, the string for the the I am facing N at (0, 0) initialstate of the avatar isThe only directions are North, South, East, and West Turnscan only be Left or Right Starting code has been providedYou must not change the test program You must complete the