forked from: Spinfade 3

