This file uses this wiki article as base