simple underlying principles, these methods can be used for a diverse