added alternate methods for illustration