theory & algorithms