http://larsjung.de/fracs/ rolled into a component