horribly inefficient but much more convenient