forked from: Smart Ball

