Works but impossibly slow