Work in progress... please send messages to nicolasjames.kress@gmail.com