Beware! The code is highly experimental