There are two methods for implementing