Refactor to make the abstract class
Add functions for the outline of the area