Compiles and runs although very little output being displayed on screen for the user to follow the simulation. Made use of constants, private instance variables and also, appropriately used accessors and mutators. Good job! Instead of using another variable (like a counter) for triggering the laying of eggs, you could simply have taken the queen’s age (already existing); age % 3== 0. Normally since eggs do not eat , there is no need for adjusting their health. When the Worker uses the findFlower() method, it is possible that the method returns the same flower twice. According to the specification, two different flowers should be used; therefore, you need to compare whether the second flower returned is the same as the first, in which case, you have to loop until you get a different flower. When dealing with collections, you may consider using iterator to traverse it instead of a conventional loop. Overall, a very nice piece of work and it does seem you have invested quite some effort with the coursework. It will be nice seeing a GUI for this simulation. So if you enjoy learning additional stuff, try looking into java swing and bring up a nice user interface to this simulation.