Intermediate solution (do not merge, is broken)

authors: tmeehan