We should probably implement #38 first.