Based on the documentation made by
Stack Overflow contributors