forked from: PanLight

