also: check my newest post, it has a few bugfixes. this is actually the old one.